package cn.webrx.coll;/*
 * Copyright (c) 2006, 2022, webrx.cn All rights reserved.
 *
 */

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * <p>Project: jse2204 - cn.webrx.coll.ArrayList4
 * <p>Powered by webrx On 2022-09-19 09:34:19
 *
 * @author webrx [webrx@126.com]
 * @version 1.0
 * @since 17
 */
public class ArrayList4 {
    public static void main(String[] args) {
        //数组Array
        Integer[] n1 = new Integer[]{1, 2, 3};
        System.out.println(n1);
        System.out.println(Arrays.toString(n1));

        //固定的集合List
        List<Integer> list1 = List.of(11, 22, 33);
        System.out.println(list1);

        //动态的ArrayList集合
        List<Integer> list2 = new ArrayList<>();
        list2.add(111);
        list2.add(222);
        list2.add(333);
        list2.addAll(List.of(444, 555, 666, 777));
        System.out.println(list2);

        System.out.println("List->Array-------------------");
        //方法一
        Object[] n2 = list2.toArray(); //返回的是Object[]
        System.out.println(n2);
        System.out.println(Arrays.toString(n2));

        //方法二 推荐使用
        Integer[] n3 = new Integer[list2.size()];
        list2.toArray(n3); //将数组的数据直接赋值给Integer[]数组
        System.out.println(n3);
        System.out.println(Arrays.toString(n3));

        System.out.println("Array->List---------------------------------------");
        //将Integer数组，直接转换为List<Integer> 集合，本集合是固定长度
        //List<Integer> list3 = Arrays.asList(n1);

        //将Integer数组，直接转换为List<Integer> 集合 再实例化，就是ArrayList
        List<Integer> list3 = new ArrayList<>(Arrays.asList(n1));
        list3.add(99);
        System.out.println(list3);






    }
}
